home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1995 November
/
EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso
/
earcd
/
util
/
misc
/
zxam16b.lha
/
ZXAM Spectrum
/
README!!
< prev
next >
Wrap
Text File
|
1995-01-24
|
11KB
|
216 lines
Readme of ZXAM Spectrum Emulator v1.6b
--------------------------------------
This program is a Sinclair ZX Spectrum 48k emulator. It needs WB 3.0+,
68020+ and AGA chipset (68020+, WB 2.04+ and any kind of chipset for the
OCS/ECS version). Take a look at the ZXAM_Spectrum.DOCeng for details about
features and use of the emulator.
This is the emulator formerly known (in some PD lists) as Spectrum AGA
(though the emulator has been always named ZXAM!), but with the new OCS/ECS
version the emulator is no longer AGA-only. Anyway, both versions requires
68020+ processor.
This program is SHAREWARE. This means that you can test the program during
one month. After this period you must send $ US 15 (only CASH) to the author.
In return you will receive the latest version available (probably the 128k
version). By doing this contribution, you assure the further development of the
emulator.
This SHAREWARE version can be freely distributed provided that all the
associated files are distributed with the program itself. Neither the program
nor their associated files must be modified in any way. The complete
distribution package can be compressed with LHA, LHarc or similar for
distribution convenience. No charge must be made for use or distribution of
this package. You can upload this package to any BBS, include it in a
magazine's coverdisk or in a Public Domain library.
To contact with the author:
Mail:
Antonio J. Pomar Rosselló
C/ Alférez Cerdá nº 13-bajos
Palma de Mallorca 07014
Baleares (Spain)
FidoNet:
Toni Pomar (2:343/119.80)
AmigaNet:
Toni Pomar (39:190/1.80)
InterNet:
tpomar@penedes.mazanet.encomix.com
From this point the text contains some addendums, accumulated since version
1.3 ß. These addendums are a kind of HISTORY, but more detailed.
>>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.3 ß <<<<<<<<<<<<<<<<
The main motivation for the release of version 1.3 ß is the addition of the
LOAD/SAVE to tape. This is not a definitive version, but there were many
requests from people that have sent to me messages to TANIT-BBS. This way the
LOAD routine can be tested on different configurations, to report any kind of
problem. Moreover, version 1.3 ß includes some attempts of synchronization for
stabilize the emulator, but they aren't completed. I need information about the
result of these attempts in other CPUs (68030/50MHz or 68040). Changes since
version 1.2 ß are:
LOAD FROM TAPE: The LOAD routine is a patch of the ROM LOAD routine. This patch
is partial. That means that 90% of code executed while LOADing is the Z80
original routine. This way the emulator behaves like the original Spectrum, you
can see the screen data and attributes loading, can do BREAK by pressing the
space key, the border shows the old "loading colours" and the FLASH attributes
are still "FLASHing" during the LOAD. All this works even with an Amiga 1200
without FAST memory and in colour mode!!.
The LIMITATIONS of the patch are:
-The border lines aren't perfect, but almost. Some border change are
missed because of some interference between the CPU and the copperlist.
I could do a perfect border, but the LOAD/SAVE lines aren't worth the
speed loss.
-The sound from tape can be heared ONLY DURING THE LOAD. That means that
you will need to search the beginning of the program with the cassette
disconnected from the computer. A software emulation of the hardware
connection between MIC and EAR connectors would be a severe slowdown of
the emulation.
-NEEDS A CUSTOM INTERFACE: although I think that this is not a limitation
because the interface that I have designed is much more cheaper and
practical than a sound sampler. This interface plugs into the Joystick
port. You can plug and unplug it even with the computer switched on. The
2 (yes, TWO!) components used in the interface are for protection of the
computer. If you want, you can make a through-port to connect the
interface and the joystick at the same time. With this interface you can
leave the printer connected to the parallel port permanently.
-Because the LOAD is a patch, forget about loading Turbo games (al least,
for the moment...;-).
-In systems with slower CPUs isn't recommendable to touch the keyboard
while loading, because any key press/release will cause an interrupt,
that can produce the dreaded "R Tape loading error". You only need to
touch the keyboard to do a BREAK.
Well, I have to say that the effectiveness of the patch is much better than
any prevision. During the first testing of the patch I have connected the
internal Spectrum +2A cassette to the tape interface, and tried to load
simultaneously the same program in the +2A and in the Amiga 1200. The aim of
the test was to find some programs that the +2A can load and the Amiga 1200
can't, to use it to adjust the timing of the patch. The inesperate results were
that the computer with problems to load some programs was the +2A, while the
Amiga 1200 loaded everything that I have throwed to it ;-). I have passed to
disk 83 programs during the tests.
SAVE TO TAPE: This is a very easy one. Actually, this is not a patch, otherwise
it is a REAL TIME SAVE. It is the Z80 that is sending the data to the tape. The
only thing that I haved to do is to stabilize the sound output. The same
explained above about the keyboard and border is applied to the SAVE. The data
saved with the emulator has been loaded succesfully by the emulator itself
and by my ZX Spectrum +2A.
SOUND: The emulator includes a "sound stabilizer" that tries to enhance the
cleaness of the sound. This stabilizer is the real guilty of the REAL TIME
SAVE, and the pure sound of the BEEP command. Some games sounds now a lot
better (like the ULTIMATE ones), but some others have slowed down slightly.
Anyway, this stabilizer is experimental, and will be much better when I can
test it thoroughly with a computer with a fast CPU.
>>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.3b ß <<<<<<<<<<<<<<<<
I have distributed this version because a user have requested me the last
version of the emulator (he have seen the horrible 1.2 ß version in the
Southern Party '94). Because of this I have decided to distribute as 1.3b ß the
last version assembled (I couldn't send him the 1.3 ß version because it wasn't
the last and better version!). This version is a small speed increase for
certain games. It includes a transfer to pass programs from disk to tape, and
fixes a problem with the Kempston joystick.
For the period from 1-August-94 to 20-August-94 I have not modified the
emulator because I was "hooked" to a modem that a friend of mine lended to me.
Very soon I will have my own modem and my own FidoNET address.
>>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.4 ß <<<<<<<<<<<<<<<<
(this version was never released)
>>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.5 <<<<<<<<<<<<<<<<
This is the first non-BETA version. That means that the user interface is
complete, the emulator is stable (for what I know) and the emulation is (if not
perfect) reasonably complete. This is not a resignation to enhance the
emulation or the user interface (I NEVER RESIGN!). Is simply a way to say that
this is a quite complete program.
This version don't enhance the emulation (I am waiting for some FAST memory
to do very important real time tests). Is an improvement of the user interface.
The emulator now has an ARexx port, with 44 functions that enables to do nearly
anything you can think of (save screen as IFF, assemble/disassemble, searching
of pokes, extract BASIC listings, batch conversions of formats, etc...). In
future versions maybe there will be step by step executing of Z80 code. The
ARexx scripts are started from the emulator's window, through a file
requester.
Now you can compress the spectrum programs in the moment of saving (with
powerpacker.library), can get separate paths (for loading and saving), the
filerequesters adapts to the height of the screen, the window is an
AppWindow, the emulator can load external ROMs (added to version 1.4 ß) and
commands can be executed before and after the emulation (specially interesting
for enable/disable the CPU caches).
If you want to code Z80 assembler I recommend you CAZ, a Z80 cross-assembler
by Carsten Rose (it is in the FrozenFISH CD-ROM). You must do a suitable ARexx
script for use the CAZ with your favourite text editor and assemble directly to
the Spectrum's memory at the right address (even with ED you can do it).
With the package ther is an OCS/ECS version of the emulator. This is a test
version. If there are any problems with it let me know.
>>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.6 <<<<<<<<<<<<<<<<
This is the first SHAREWARE version. This is due to the huge amount of time
that I am spending on it, and to the post/phone charges that I have to pay to
distribute the emulator properly.
This version (1.6) adds an ARexx function (ZXAMDisassemble()) that enables
to disassemble instructions from the Spectrum's memory, the options to redirect
the LOAD/SAVE routines of the Spectrum's ROM to DISK or TAPE (for multilevel
games, or BASIC listings, etc...), and the data can be crunched while saving to
disk, can load games from their Default Tool, or doing multi-selection, can
load snapshots in Z80 format, fixes some compatibility problems and is more
friendly with the system.
There are two new ARexx scripts too, one for disassemble parts of the
spectrum's memory and the other for "explode" a .TAP file in their respective
.header and .bytes.
This is, probably, the last 48k-only version. At the time of writing this I
have a pre-version of the emulator with the +3BASIC working... ;-)
>>>>>>>>>>>>>>> ADDENDUM FOR VERSION 1.6b <<<<<<<<<<<<<<<<
Version initially created to fix a bug in the loading of some Z80 snapshots.
As addition to justify the release of this version, it can load KGB snapshots,
includes 10 new ARexx functions (one of them is the ZXAMTrace() function that
enables to run Z80 code step-by-step, and other, the ZXAMBreakPoint() function,
can put a breakpoint in the spectrum's memory) and enhances some details of the
emulation (not much...). Along with the emulator there is an ARexx script
(Monitor.zxam, created by Leonardo Cocaña Galán) that acts as a very basic
disassembler/monitor. This script shows some of the possibilities of the ARexx
port.
For the release of this version I had to stop the development of the 128k
version, but now I am on the way again...